1. Field of the Invention
The present invention relates to a method for handling timers in a wireless communications system, and more specifically, to a method for handling a Timer_Poll_Periodic timer after an RLC re-establishment in a wireless communications system.
2. Description of the Prior Art
Technological advances have moved hand in hand with more demanding consumer expectations. Devices that but ten years ago were considered cutting edge are today obsolete. These consumer demands in the marketplace spur companies towards innovation. The technological advances that result only serve to further raise consumer expectations. Presently, portable wireless devices, such as cellular telephones, personal digital assistants (PDAs), notebook computers, etc., are a high-growth market. However, the communications protocols used by these wireless devices are quite old. Consumers are demanding faster wireless access with greater throughput and flexibility. This has placed pressure upon industry to develop increasingly sophisticated communications standards. The 3rd Generation Partnership Project (3GPP) is an example of such a new communications protocol.
Please refer to FIG. 1. FIG. 1 is a simplified block diagram of the prior art communications model. In a typical wireless environment, a first station 10 is in wireless communications with one or more second stations 20. The first station 10 is comprised of upper layers 12, a radio link control (RLC) entity 14, and lower layers 16 which are below the RLC 14. In the following disclosure, all of the RLC entities are assumed to be RLC acknowledged mode (RLC AM) entities. The upper layers 12 can deliver messages to the RLC 14 through service data units (SDUs) 13. The SDUs 13 may be of any size, and hold data that the upper layers 12 wish delivered to the second station 20. The RLC 14 composes the SDUs 13 into one or more protocol data units (PDUs) 15. Each PDU 15 of the RLC 14 is of a fixed size, and is delivered to the lower layers 16. The lower layers 16 include the physical layer, which is in charge of transmitting data to the second station 20.
The second station 20 shown has exactly the same basic structure as the first station 10. The second station 20 also includes upper layers 22, an RLC 24, and lower layers 26. Just as with the first station 10, the second station 20 uses the upper layers 22 to transmit SDUs 23 to the RLC 24, and uses the RLC 24 to transmit PDUs 25 to the lower layers 26. The data transmitted by the first station 10 is received by lower layers 26 of the second station 20 and reconstructed into one or more PDUs 25, which are passed up to the RLC 24. The RLC 24 receives the PDUs 25 and from them assembles one or more SDUs 23, which are then passed up to the upper layers 22. The upper layers 22, in turn, convert the SDUs 23 back into messages, which should be identical to the original messages that were generated by the first station 10. In communication systems, the terms SDU and PDU have broad meanings. For purposes of the following disclosure, the term “SDU” is used to indicate SDUs passed from the upper layers to the RLC, and the term “PDU” should be understood as PDUs passed from the RLC to lower layers.
The 3rd Generation Partnership Project (3GPP) specification 3GPP TS 25.322 V3.11.0 “RLC Protocol Specification has defined parameters, variables, timers, control PDUs, etc., for operations of the first station 10 and the second station 20. According to the specification, in some circumstances, the RLC layers 14 and 24 must be re-established with an RLC re-establishment function, e.g. when starting a reset procedure. However, the specification does not specify how the timers should be handled during re-establishment. Due to this lack of guidelines, potential problems could develop due to the improper use of the timers.
Firstly, please refer to FIG. 2, which is a phase diagram illustrating a transmission window of an RLC AM entity according to the prior art. During normal operation, the RLC AM entity 14 (transmitter) transmits acknowledged mode data (AMD) PDUs to the RLC AM entity 24 (receiver), and each PDU is marked with a sequence number (SN). The SNs have a fixed bit length of n bits. In the preferred embodiment, the bit length n is 12. Hence, the SNs have a range of values from zero to 4095 (212−1). The phase diagram for SNs can thus be represented by a circle. For the following example, point 30 is the sequentially lowest transmitter PDU SN value waiting for acknowledgment from the receiver in the form of a STATUS PDU, which contains information on which PDUs have been acknowledged. In other words, point 30 marks the beginning of the transmitting window. In this example, assume a window size =X. Point 32 marks the highest PDU SN value of an AMD PDU that has been sent so far. Therefore, in order to prevent the transmitting window from filling up, the difference of PDU SN values at point 32 and point 30 has to be less than X. Otherwise, the transmitting window fills up, and deadlock occurs. Deadlock can occur if AMD PDUs sent from the transmitter to the receiver are not properly acknowledged by the receiver. This would cause point 30 to remain stationary, and the difference between point 32 and point 30 would eventually equal the maximum window size of X.
As mentioned in the specification 3GPP TS 25.322 V3.11.0, a Timer_Poll_Periodic timer is started for the RLC AM entity 14 of the first station 10 when the RLC AM entity 14 is created, and is used by the RLC AM entity 14 to poll its peer RLC AM entity 24 to send a STATUS PDU. When the Timer_Poll_Periodic timer of the RLC AM entity 14 expires, a poll request is send to the RLC AM entity 24 asking for a STATUS PDU to be sent back to the RLC AM entity 14. Since the specification does not specify how the Timer_Poll_Periodic timer should be handled during re-establishment, the Timer_Poll_Periodic timer may be stopped by the RLC entity upon reception of a re-establishment request, and never restarted after the re-establishment procedure. Therefore, the Timer_Poll_Periodic timer does not ever get started again, and cannot trigger a poll to the peer RLC AM entity 24 upon expiration of the timer. This means that AMD PDUs with lower SN values indicated by point 30 in FIG. 2 will never be acknowledged. Since point 30 never moves, eventually the difference between point 32 and point 30 will equal the transmission window size of X. Thus, because the timer remains stopped, deadlock occurs, and the RLC AM entity 14 cannot transmit additional PDUs to the peer RLC AM entity 24.
Therefore, since the current 3GPP specification does not specify how each of the previously mentioned timers should be handled during re-establishment, deadlock can occur and quality of service may be reduced substantially.